const { app, BrowserWindow, ipcMain } = require('electron/main')
const path = require('node:path')
// 将可复用的函数写入实例化窗口
const createWindow = () => {
    const win = new BrowserWindow({
        width: 800,
        height: 600,
        // 为了将脚本附在渲染进程上，在 BrowserWindow 构造器中使用 webPreferences.preload 传入脚本的路径
        webPreferences: {
            preload: path.join(__dirname, 'preload.js')
        }
    })
    win.loadFile('index.html').then(r => {})
}
// 在应用准备就绪时调用函数
app.whenReady().then(() => {
    ipcMain.handle('ping', () => 'pong')
    createWindow()
    // 如果没有窗口打开则打开一个窗口 (macOS)
    app.on('activate', () => {
        if (BrowserWindow.getAllWindows().length === 0) createWindow()
    })
})
// 关闭所有窗口时退出应用 (Windows & Linux)
app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') app.quit()
})
